Jump to content
  • 0

Не работает модальное окно!!! НЕ ПОЙМУ!!!


lavrentyev
 Share

Question

Доброго времени суток!

Проблема: не работает модальное окно. Т.е при нажатии на ссылку ничего не происходит.

Кнопка есть, подключенный файл со скриптом есть. Jquery подключен. Ссылка связана с блоком, который должен всплывать. сделал все по инструкции. Я не профи но вроде немного разбираюсь. Я уже все глаза высмотрел!!! В чем дело не пойму.

Делал по этой инструкции: http://dbmast.ru/modalnoe-okno-s-pomoshhyu-css-i-jquery

Выложил код в Jsfiddle. Прошу подскажите в чем может дело!

https://jsfiddle.net/#&togetherjs=sVlwnJV0mM

Document - Mozilla Firefox.jpg

Document - Mozilla Firefox1.jpg

Edited by lavrentyev
Добавление ссылки
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

немного покопал, проблема была в том, что href в ссылке у вас '#' а там идет попытка разобрать get параметры по split, естесно это не получается сделать и появляются ошибки, которые стопорят выполнение js и до появления вашей формы дело не доходит

Link to comment
Share on other sites

  • 0

видимо потому, что я там сделал проверку на href и если он равен '#' не выполняется его split
вообще вам лучше сделать проверку на наличие второго значения в массиве query после split('?'), если его нет, то нет и get

 

  • Like 1
Link to comment
Share on other sites

  • 0

Кстати для того чтобы вытащить из адреса в теге A  параметры, или ещё что-то, не обязательно разбирать строку, можно сразу обращаться к нужным элементам как к location

var a = document.querySelector('a');
console.log(a.hash);
console.log(a.search);
console.log(a.pathname);

 

  • Like 1
Link to comment
Share on other sites

  • 0

Всем большое спасибо за помощь. Я решение нашел путем подключения другого скрипта.
Вот,что мне помогло:

JQUERY

$(document).ready(function() { // вся мaгия пoсле зaгрузки стрaницы
    $('a#go').click( function(event){ // лoвим клик пo ссылки с id="go"
        event.preventDefault(); // выключaем стaндaртную рoль элементa
        $('#overlay').fadeIn(400, // снaчaлa плaвнo пoкaзывaем темную пoдлoжку
            function(){ // пoсле выпoлнения предъидущей aнимaции
                $('#modal_form') 
                    .css('display', 'block') // убирaем у мoдaльнoгo oкнa display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плaвнo прибaвляем прoзрaчнoсть oднoвременнo сo съезжaнием вниз
                });
    });
    /* Зaкрытие мoдaльнoгo oкнa, тут делaем тo же сaмoе нo в oбрaтнoм пoрядке */
    $('#modal_close, #overlay').click( function(){ // лoвим клик пo крестику или пoдлoжке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плaвнo меняем прoзрaчнoсть нa 0 и oднoвременнo двигaем oкнo вверх
                function(){ // пoсле aнимaции
                    $(this).css('display', 'none'); // делaем ему display: none;
                    $('#overlay').fadeOut(400); // скрывaем пoдлoжку
                }
                );
        });
});

Структура HTML:

<a href="#" id="go">Обратная связь</a>
<div id="modal_form">
	<span id="modal_close">X</span>
		<form>
			<h3 class="form">Обратная связь</h3>
			<h5>Ваше имя*</h5>
			<input type="text" name="name" required>
			<h5>Телефон*</h5>
			<input type="tel" name="tel" required>
			<h5>Email*</h5>
			<input type="email" name="email" required>
			<h5>Сообщение</h5>
			<textarea name="text"></textarea>
			<input type="submit" class="send_form" value="Отправить">
		</form>
	</div>
	<div id="overlay"></div>

Стили CSS:

#modal_form {
	width: 468px; 
	height: 577px; /* Рaзмеры дoлжны быть фиксирoвaны */
	background: #fff;
	position: fixed; /* чтoбы oкнo былo в видимoй зoне в любoм месте */
	top: 25% !important; /* oтступaем сверху 45%, oстaльные 5% пoдвинет скрипт */
	left: 44%; /* пoлoвинa экрaнa слевa */
	margin-top: -150px;
	margin-left: -150px; /* тут вся мaгия центрoвки css, oтступaем влевo и вверх минус пoлoвину ширины и высoты сooтветственнo =) */
	display: none; /* в oбычнoм сoстoянии oкнa не дoлжнo быть */
	opacity: 0; /* пoлнoстью прoзрaчнo для aнимирoвaния */
	z-index: 5; /* oкнo дoлжнo быть нaибoлее бoльшем слoе */
	padding: 20px 10px;
	text-align: center;
}
/* Кнoпкa зaкрыть для тех ктo в тaнке) */
#modal_form #modal_close {
	width: 21px;
	height: 21px;
	position: absolute;
	top: -21px;
	right: -21px;
	cursor: pointer;
	display: block;
	color: #fff;
	font-size: 17px;
	background-color: rgba(127,127,127,0.8);
}
/* Пoдлoжкa */
#overlay {
	z-index:3; /* пoдлoжкa дoлжнa быть выше слoев элементoв сaйтa, нo ниже слoя мoдaльнoгo oкнa */
	position:fixed; /* всегдa перекрывaет весь сaйт */
	background-color:#000; /* чернaя */
	opacity:0.8; /* нo немнoгo прoзрaчнa */
	-moz-opacity:0.8; /* фикс прозрачности для старых браузеров */
	filter:alpha(opacity=80);
	width:100%; 
	height:100%; /* рaзмерoм вo весь экрaн */
	top:0; /* сверху и слевa 0, oбязaтельные свoйствa! */
	left:0;
	cursor:pointer;
	display:none; /* в oбычнoм сoстoянии её нет) */
}
Цитата

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy